static guint signals[LAST_SIGNAL];
static GParamSpec *properties[LAST_PROP];
-static void
-gtk_range_snapshot (GtkWidget *widget,
- GtkSnapshot *snapshot)
-{
- GtkRange *range = GTK_RANGE (widget);
- GtkRangePrivate *priv = gtk_range_get_instance_private (range);
-
- gtk_widget_snapshot_child (widget, priv->trough_widget, snapshot);
-}
-
static void
gtk_range_class_init (GtkRangeClass *class)
{
gobject_class->dispose = gtk_range_dispose;
widget_class->measure = gtk_range_measure;
- widget_class->snapshot = gtk_range_snapshot;
widget_class->size_allocate = gtk_range_size_allocate;
widget_class->unmap = gtk_range_unmap;
widget_class->direction_changed = gtk_range_direction_changed;
*
* |[<!-- language="plain" -->
* scale[.fine-tune][.marks-before][.marks-after]
+ * ├── [value][.top][.right][.bottom][.left]
* ├── marks.top
* │ ├── mark
* │ ┊ ├── [label]
* │ ┊ ╰── indicator
* ┊ ┊
* │ ╰── mark
- * ├── [value][.top][.right][.bottom][.left]
- * â\94\9câ\94\80â\94\80 trough
- * â\94\82 â\94\9câ\94\80â\94\80 [fill]
- * â\94\82 â\94\9câ\94\80â\94\80 [highlight]
- * â\94\82 â\95°â\94\80â\94\80 slider
- * â\95°â\94\80â\94\80 marks.bottom
- * ├── mark
- * â\94\8a â\94\9câ\94\80â\94\80 indicator
- * â\94\8a â\95°â\94\80â\94\80 [label]
- * ╰── mark
+ * ├── marks.bottom
+ * â\94\82 â\94\9câ\94\80â\94\80 mark
+ * â\94\82 â\94\8a â\94\9câ\94\80â\94\80 indicator
+ * â\94\82 â\94\8a â\95°â\94\80â\94\80 [label]
+ * â\94\8a â\94\8a
+ * â\94\82 â\95°â\94\80â\94\80 mark
+ * ╰── trough
+ * â\94\9câ\94\80â\94\80 [fill]
+ * â\94\9câ\94\80â\94\80 [highlight]
+ * ╰── slider
* ]|
*
* GtkScale has a main CSS node with name scale and a subnode for its contents,
static void gtk_scale_get_range_border (GtkRange *range,
GtkBorder *border);
static void gtk_scale_finalize (GObject *object);
-static void gtk_scale_snapshot (GtkWidget *widget,
- GtkSnapshot *snapshot);
static void gtk_scale_real_get_layout_offsets (GtkScale *scale,
gint *x,
gint *y);
gobject_class->notify = gtk_scale_notify;
gobject_class->finalize = gtk_scale_finalize;
- widget_class->snapshot = gtk_scale_snapshot;
widget_class->size_allocate = gtk_scale_size_allocate;
widget_class->measure = gtk_scale_measure;
widget_class->grab_focus = gtk_widget_grab_focus_self;
"css-name", "value",
"label", txt,
NULL);
-
g_free (txt);
- if (priv->value_pos == GTK_POS_TOP || priv->value_pos == GTK_POS_LEFT)
- gtk_widget_insert_after (priv->value_widget, GTK_WIDGET (scale), NULL);
- else
- gtk_widget_insert_before (priv->value_widget, GTK_WIDGET (scale), NULL);
-
+ gtk_widget_insert_after (priv->value_widget, GTK_WIDGET (scale), NULL);
gtk_range_set_round_digits (GTK_RANGE (scale), priv->digits);
update_value_position (scale);
update_label_request (scale);
}
}
-static void
-gtk_scale_snapshot (GtkWidget *widget,
- GtkSnapshot *snapshot)
-{
- GtkScale *scale = GTK_SCALE (widget);
- GtkScalePrivate *priv = gtk_scale_get_instance_private (scale);
-
- if (priv->top_marks_widget)
- gtk_widget_snapshot_child (widget, priv->top_marks_widget, snapshot);
-
- if (priv->bottom_marks_widget)
- gtk_widget_snapshot_child (widget, priv->bottom_marks_widget, snapshot);
-
- if (priv->value_widget)
- gtk_widget_snapshot_child (widget, priv->value_widget, snapshot);
-
- GTK_WIDGET_CLASS (gtk_scale_parent_class)->snapshot (widget, snapshot);
-}
-
static void
gtk_scale_real_get_layout_offsets (GtkScale *scale,
gint *x,
gtk_widget_insert_after (priv->top_marks_widget,
GTK_WIDGET (scale),
- (priv->value_widget &&
- (priv->value_pos == GTK_POS_TOP || priv->value_pos == GTK_POS_LEFT)) ?
- priv->value_widget : NULL);
+ priv->value_widget);
gtk_widget_add_css_class (priv->top_marks_widget, GTK_STYLE_CLASS_TOP);
}
marks_widget = priv->top_marks_widget;
gtk_widget_insert_before (priv->bottom_marks_widget,
GTK_WIDGET (scale),
- (priv->value_widget &&
- (priv->value_pos == GTK_POS_BOTTOM || priv->value_pos == GTK_POS_RIGHT)) ?
- priv->value_widget: NULL);
+ gtk_range_get_trough_widget (GTK_RANGE (scale)));
gtk_widget_add_css_class (priv->bottom_marks_widget, GTK_STYLE_CLASS_BOTTOM);
}
marks_widget = priv->bottom_marks_widget;